These days, on-board systems provided with data processing resources enable increasingly complex and larger numbers of functions to be performed because the hardware used for these portable objects and their software, or more specifically the application programs embedded in the latter as a means of enabling them to run one or more specific functions, are constantly being optimised. The concept of on-board system covers any portable computer system, such as a portable object, microprocessor card or similar, as opposed to a conventional microcomputer.
This is particularly so in the case of microprocessor cards, also known as chip cards, such as that illustrated in FIG. 1a, used in conjunction with a compiler to generate instructions and an interpreter which enables these instructions to be run by the microprocessor, as illustrated in FIG. 1b. Conventionally, as illustrated in FIG. 1a, a microprocessor card 10 comprises an input/output system 12 linked to the microprocessor 14, a RAM memory 16, a non-volatile memory 18 comprising a read only ROM memory 18b and a programmable memory 18a. All of these elements are linked to the microprocessor 14 by a BUS line. A data encryption/decryption module 20 may be provided, as required.
FIG. 1c illustrates all the application software elements, such as electronic purse, electronic commerce or health, embedded in the non-volatile programmable memory, the interpreter in a non-volatile programmable memory or a read only memory and the operating system in a read only memory ROM.
The intermediate object code is generated by the compiler from a source program, usually written in high level language based on ASCII characters. The source program and the corresponding intermediate object code may be run by all the standard microprocessors because the interpreter ensures that the standard instructions of the intermediate object code are translated, in software terms, into instructions that can be directly executed by the microprocessor.
By way of example, although this is not restrictive, microprocessor card manufacturers have recently developed interpreters embedded in the read only memory ROM. This type of interpreter reads in sequence a program or intermediate object code, supporting an application for example, which is loaded into the programmable memory of the microprocessor card, for example. Each standard instruction of this intermediate object code is interpreted by the interpreter, then run by the microprocessor. As a general rule, the standard instructions of the intermediate object code enable changing functions to be processed, such as arithmetic processing and object manipulation. The object concept relates to computed objects such as lists, data tables or similar.
However, due in particular to the fact that these microprocessor cards are portable in nature, the size and space occupied by the latter are limited. The same applies to the size of their programmable memory, which is limited, by construction, to several kilobytes. This structural limitation makes it impossible to run large application programs.
Furthermore, the current tendency to use multi-application on-board systems is faced with the recurring problem caused by the fact that the number of applications installed on a same on-board system or microprocessor card rarely exceeds three applications.